#!/usr/bin/python3
import pymysql
# ctypes的库
from ctypes import *
import time
import threading as thd

def select():
    sql = "SELECT * FROM carinfo;"
    try:
        # 执行SQL语句
        cursor.execute(sql)
        # 获取所有记录列表
        results = cursor.fetchall()
        for row in results:
            id = row[0]
            temperature = row[1]
            time = row[2]
            # 打印结果
            print("id=%d,temperature=%d,time=%s" % (id, temperature, time))
    except:
        print("Error: unable to fetch data")


def insert(tmp,timeinfo):
    # SQL 插入语句
    sql = "INSERT INTO carinfo(temperature,time) VALUES ("+str(tmp)+",'"+timeinfo+"')"
    print(sql)
    try:
        # 执行sql语句
        cursor.execute(sql)
        # 提交到数据库执行
        db.commit()
    except:
        # 如果发生错误则回滚
        db.rollback()


def getTMP():
    tmp = lib_main.main()
    if(tmp>5 and tmp<40):
        #向远程数据库插入新数据
        print("TMP=%d" %(tmp))
        timeinfo=getTime()
        insert(tmp,timeinfo)

def getTime():
    #获取当前时间
    print("getTime")
    # 格式化成2016-03-20 11:45:39形式
    timeinfo=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
    print (timeinfo)
    return timeinfo


# 加载so库
lib_main = CDLL('./dht11.so')  # CDLL加载库

# 打开数据库连接
db = pymysql.connect("192.168.43.219", "root", "Songmingyu123@", "car")

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

while(1):
    #获取温度发送到数据库
    getTMP()
    #发送障碍物距离到数据库
    #延时2秒
    print("获取温度,延时")
    time.sleep(2)


# 使用 execute()  方法执行 SQL 查询
# cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取单条数据.
# data = cursor.fetchone()
# print ("Database version : %s " % data)
# 关闭数据库连接
db.close()
